<div id="sidebar">
<div class="sidebar-header">
<div></div>
<h1 class="story-title" data-passage="StoryTitle"></h1>
<div class="sidebar-toggle">
<span id="sidebar-toggle-icon" class="lnr lnr-menu-circle"></span>
</div>
</div>
<div id="sidebar-body">
<!-- GAME LOGO IMAGE -->
<div class="story-logo" data-passage="StoryLogo"></div>
<!-- AUTHOR NAME -->
<h2 class="story-author" data-passage="StoryAuthor"></h2>
<nav class="sidebar-nav">
<ul class="story-tools">
<li>
<span id="restart-button" class="lnr lnr-redo"></span>
<span class="tooltiptext">Restart</span>
</li>
<li>
<span id="saves-button" class="lnr lnr-download"></span>
<span class="tooltiptext">Saves</span>
</li>
<li>
<span id="settings-button" class="lnr lnr-cog"></span>
<span class="tooltiptext">Settings</span>
</li>
</ul>
<ul class="story-menu" data-passage="StoryMenu">
</ul>
</nav>
<div class="sidebar-history-nav">
<span id="backwards-button" class="lnr lnr-arrow-left"></span>
<span id="forwards-button" class="lnr lnr-arrow-right"></span>
</div>
</div> <!-- SIDEBAR-BODY END TAG -->
</div> <!-- SIDEBAR END TAG -->
<div id="teststory" role="main">
<div id="passages">
<div id="passage-start" data-passage="start" class="passage">
</div>
</div>
</div>!Hello
!!Hello
!!!Hello
!!! Checkbox:
<<checkbox "$checkboxVar1" false true autocheck>> Checkbox option 1
<<checkbox "$checkboxVar2" false true autocheck>> Checkbox option 2
<<checkbox "$checkboxVar3" false true autocheck>> Checkbox option 3
!!! Cycle:
<<cycle "$cycleVar" autoselect>>
<<option "Option 1">>
<<option "Option 2">>
<<option "Option 3">>
<<option "Option 4">>
<<option "Option 5">>
<</cycle>>
!!! Listbox:
<<listbox "$listboxVar" autoselect>>
<<option "Option 1">>
<<option "Option 2">>
<<option "Option 3">>
<<option "Option 4">>
<<option "Option 5">>
<</listbox>>
!!! Radiobutton:
<<radiobutton "$radiobuttonVar" "option 1" autocheck>> Option 1
<<radiobutton "$radiobuttonVar" "option 2" autocheck>> Option 2
<<radiobutton "$radiobuttonVar" "option 3" autocheck>> Option 3
!!! Textbox:
<<textbox "$textboxVar" "Type answer here">>
* List item 1
* List item 2
[[Hello]]
<<button "Button" "Hello">><</button>>Rains In Heaven Shorts<img src="https://i.postimg.cc/4yZq8fhy/LOGO-w-background-removed-cropped.png" alt="Logo" id="logo"><<set $MCname to "NAME">>
<<set $MCpronouns to "she/her">>
<<set $haircolor to "">>
<<set $hairlength to "">>
<<set $naturalhair to "">>
<<set $hairstyle to "">>
<<set $skincolor to "">>
<<set $eyecolor to "">>
<<set $height to "null">>
<<set $fashionstyle to "null">>
<<set $l_they to "">>
<<set $l_them to "">>
<<set $l_their to "">>
<<set $l_theirs to "">>
<<set $l_themself to "">>
<<set $l_s to "">>
<<set $l_is to "">>
<<set $l_theyre to "">>
<<set $l_have to "">>
<<set $freckles to false>>
<<set $scars to false>>
<<set $tattoos to false>>
<<set $class to "Not yet selected">>
<<set $Vname to "V">>
<<set $Vgender to "they/them">>
<<set $v_they to "">>
<<set $v_them to "">>
<<set $v_their to "">>
<<set $v_theirs to "">>
<<set $v_themself to "">>
<<set $v_s to "">>
<<set $v_is to "">>
<<set $v_theyre to "">>
<<set $v_have to "">>
<<set $Yname to "Y">>
<<set $Ygender to "they/them">>
<<set $y_they to "">>
<<set $y_them to "">>
<<set $y_their to "">>
<<set $y_theirs to "">>
<<set $y_themself to "">>
<<set $y_s to "">>
<<set $y_is to "">>
<<set $y_theyre to "">>
<<set $y_have to "">>
<<set $lastMainPassage to "null">>
by peachbear<center>
<div class="startpage">
<h1>Rains in Heaven</h1>
<div class="yellow-line" style="width: 25%"></div>
<h3>Short Stories</h3>
</div>
<style>
.startpage h1 {
font-size: 2.5em;
font-weight: bold;
margin-bottom: -0.5em;
}
.startpage h3 {
font-size: 1.5em;
font-weight: bold;
margin-top: 0.5em;
line-height: 1.2;
}
</style>
Disclaimer: The stories you read here may be non-canon to the real story. Try to keep the stories here separate from the main story, unless otherwise stated.
<<button "Begin" >>
<<goto "Customization">>
<</button>>
</center><<widget "setGender">><<silently>>
<<if ndef $args[1]>>
<<set _rng to random(0,2)>>
<<if _rng is 0>><<set _let to "m">><</if>>
<<if _rng is 1>><<set _let to "f">><</if>>
<<if _rng is 2>><<set _let to "n">><</if>>
<<else>>
<<set _let to $args[1]>><</if>>
<<if $args[0] is "v">>
<<if _let is "m">>
<<set $v_they to "he">>
<<set $v_them to "him">>
<<set $v_their to "his">>
<<set $v_theirs to "his">>
<<set $v_themself to "himself">>
<<set $v_s to "s">>
<<set $v_is to "is">>
<<set $v_theyre to "he's">>
<<set $v_have to "has">>
<</if>>
<<if _let is "f">>
<<set $v_they to "she">>
<<set $v_them to "her">>
<<set $v_their to "her">>
<<set $v_theirs to "hers">>
<<set $v_themself to "herself">>
<<set $v_s to "s">>
<<set $v_is to "is">>
<<set $v_theyre to "she's">>
<<set $v_have to "has">>
<</if>>
<<if _let is "n">>
<<set $v_they to "they">>
<<set $v_them to "them">>
<<set $v_their to "their">>
<<set $v_theirs to "theirs">>
<<set $v_themself to "themself">>
<<set $v_s to "">>
<<set $v_is to "are">>
<<set $v_theyre to "they're">>
<<set $v_have to "have">>
<</if>>
<</if>>
<<if ndef $args[1]>>
<<set _rng to random(0,2)>>
<<if _rng is 0>><<set _let to "m">><</if>>
<<if _rng is 1>><<set _let to "f">><</if>>
<<if _rng is 2>><<set _let to "n">><</if>>
<<else>>
<<set _let to $args[1]>><</if>>
<<if $args[0] is "y">>
<<if _let is "m">>
<<set $y_they to "he">>
<<set $y_them to "him">>
<<set $y_their to "his">>
<<set $y_theirs to "his">>
<<set $y_themself to "himself">>
<<set $y_s to "s">>
<<set $y_is to "is">>
<<set $y_theyre to "he's">>
<<set $y_have to "has">>
<</if>>
<<if _let is "f">>
<<set $y_they to "she">>
<<set $y_them to "her">>
<<set $y_their to "her">>
<<set $y_theirs to "hers">>
<<set $y_themself to "herself">>
<<set $y_s to "s">>
<<set $y_is to "is">>
<<set $y_theyre to "she's">>
<<set $y_have to "has">>
<</if>>
<<if _let is "n">>
<<set $y_they to "they">>
<<set $y_them to "them">>
<<set $y_their to "their">>
<<set $y_theirs to "theirs">>
<<set $y_themself to "themself">>
<<set $y_s to "">>
<<set $y_is to "are">>
<<set $y_theyre to "they're">>
<<set $y_have to "have">>
<</if>>
<</if>>
<<if ndef $args[1]>>
<<set _rng to random(0,2)>>
<<if _rng is 0>><<set _let to "m">><</if>>
<<if _rng is 1>><<set _let to "f">><</if>>
<<if _rng is 2>><<set _let to "n">><</if>>
<<else>>
<<set _let to $args[1]>><</if>>
<<if $args[0] is "l">>
<<if _let is "m">>
<<set $l_they to "he">>
<<set $l_them to "him">>
<<set $l_their to "his">>
<<set $l_theirs to "his">>
<<set $l_themself to "himself">>
<<set $l_s to "s">>
<<set $l_is to "is">>
<<set $l_theyre to "he's">>
<<set $l_have to "has">>
<</if>>
<<if _let is "f">>
<<set $l_they to "she">>
<<set $l_them to "her">>
<<set $l_their to "her">>
<<set $l_theirs to "hers">>
<<set $l_themself to "herself">>
<<set $l_s to "s">>
<<set $l_is to "is">>
<<set $l_theyre to "she's">>
<<set $l_have to "has">>
<</if>>
<<if _let is "n">>
<<set $l_they to "they">>
<<set $l_them to "them">>
<<set $l_their to "their">>
<<set $l_theirs to "theirs">>
<<set $l_themself to "themself">>
<<set $l_s to "">>
<<set $l_is to "are">>
<<set $l_theyre to "they're">>
<<set $l_have to "have">>
<</if>>
<</if>>
<</silently>><</widget>>Thanks for reading! Hope you enjoyed!
Be sure to check out the main story "Rains in Heaven".
Stay up to date by following the tumblr blog for this IF or joining the discord server.
If you find any issues, send me a message on any of the platforms listed in the About section on the sidebar.
<3<<nobr>>
<li>[[About]]</li>
<</nobr>>!!!<center>Thanks for playing <b>Rains In Heaven</b>,
my first Interactive Fiction game.</center>
<center><u>Find bugs? Got suggestions?</u>
Let me know on <a href="https://discord.gg/yGTphDSeAm" target="_blank" rel="noopener">Discord</a>, <a href="https://x.com/nabearbot" target="_blank" rel="noopener">Twitter</a>, or <a href="https://www.tumblr.com/rainsinheaven-if" target="_blank" rel="noopener">Tumblr</a>.
</center>
<center><<link "Return to Story">>
<<goto $lastMainPassage>>
<</link>></center>Before we start, please customize your character:
<b>What is your MC's name?</b>
<<textbox "$MCname" "Write your name here">>
<b>What are your MC's pronouns?</b>
<<radiobutton "$MCpronouns" "she/her" autocheck>> She/Her<<setGender "l" "f">>
<<radiobutton "$MCpronouns" "he/him" autocheck>> He/Him<<setGender "l" "m">>
<<radiobutton "$MCpronouns" "they/them" autocheck>> They/Them<<setGender "l" "n">>
<b>Pick your MC's appearance:</b>
Eye color: <<listbox "$eyecolor" autoselect>>
<<option "grey">>
<<option "blue">>
<<option "green">>
<<option "brown">>
<<option "black">>
<<option "hazel">>
<<option "amber">>
<</listbox>>
Hair color: <<listbox "$haircolor" autoselect>>
<<option "black">>
<<option "chocolate brown">>
<<option "chestnut brown">>
<<option "honey blonde">>
<<option "platinum blonde">>
<<option "strawberry blonde">>
<<option "auburn">>
<</listbox>>
Skin tone: <<listbox "$skincolor" autoselect>>
<<option "porcelain">>
<<option "ivory">>
<<option "beige">>
<<option "tan">>
<<option "honey">>
<<option "golden">>
<<option "almond">>
<<option "chestnut">>
<</listbox>>
Hair length: <<listbox "$hairlength" autoselect>>
<<option "shaved bald">>
<<option "buzzed">>
<<option "in a pixie cut">>
<<option "chin length">>
<<option "shoulder length">>
<<option "mid-back length">>
<<option "past-hip length">>
<</listbox>>
Natural hairstyle: <<listbox "$naturalhair" autoselect>>
<<option "wavy">>
<<option "straight">>
<<option "curly">>
<<option "coily">>
<</listbox>>
Hairstyle: <<listbox "$hairstyle" autoselect>>
<<option "ponytail">>
<<option "bun">>
<<option "braids">>
<<option "flowing">>
<<option "too short to style">>
<</listbox>>
Height: <<listbox "$height" autoselect>>
<<option "short">>(5'4 and below)
<<option "average">>(5'5 to 5'7)
<<option "tall">>(5'8 and above)
<</listbox>>
Your best friend is named <b><<cycle "$Vname" autoselect>>
<<option "Vera">>
<<option "Ver">>
<</cycle>></b> and uses
<<radiobutton "$Vgender" "she/her" autocheck>> she/her pronouns<<setGender "v" "f">>
<<radiobutton "$Vgender" "he/him" autocheck>> he/him pronouns<<setGender "v" "n">>
The wanderer's name is <b><<cycle "$Yname" autoselect>>
<<option "Yara">>
<<option "Yaran">>
<</cycle>></b> and uses
<<radiobutton "$Ygender" "she/her" autocheck>> she/her pronouns<<setGender "y" "f">>
<<radiobutton "$Ygender" "he/him" autocheck>> he/him pronouns<<setGender "y" "n">>
<center>
<<button "Next" >>
<<goto "Confirmation">>
<</button>>
</center>
You are $MCname Lesley, going by $MCpronouns pronouns. You have $eyecolor eyes that compliment your $skincolor skin. Your hair is $haircolor and $hairlength. It is naturally $naturalhair <<if $hairstyle is "too short to style">>and too short to style.<<elseif $hairstyle is "flowing">>and you like keeping it flowing.<<else>>and you normally style it into (a) $hairstyle.<</if>> You are of $height height.
Your best friend is $Vname, and the "wanderer" is $Yname.
Is this correct?
<ul>
<li>[[Looks right to me!|Story Selection]]</li>
<li>[[On second thought, let me change something.|Customization]]</li>
</ul><center>
<div class="selection">
<h1>Choose your Story</h1>
<div class="yellow-line" style="width: 25%"></div>
</div>
<<nobr>>
<style>
.selection h1 {
font-size: 2.5em;
font-weight: bold;
margin-bottom: -0.5em;
}</style><</nobr>>
<h2>ROs Introduction Specials</h2>
☆ [[A Stargazing Tradition with Ethos|E1-0]] ☆
</center><<nobr>><<set $lastMainPassage = passage()>><</nobr>>
<h3><b> Palace Corridors </b> </h3>
<div class="yellow-line align-to-text"></div>
<style>
.align-to-text {
height: 5px;
background-color: yellow;
width: 27%; /* Adjust width */
margin-left: 0; /* Aligns to the text container */
padding-left: inherit; /* Matches text indentation */
}
</style>
You stride through the long halls of the Royal Palace, the echo of your footsteps bouncing off the polished walls. Your fingers twitch, aching from the amount of times you tried to cast a new spell but failing to get it right. The spell won’t come. Not even after a hundred tries, not even after your tutor’s gentle encouragement and patience. “It’ll take time.” they said. But it’s been a week. A full week of failure.
You let out a sigh, frustrated. If your mind would just quiet down, maybe you could see where you were going wrong.
“$MCname!”
The sudden voice cuts through your thoughts like sunlight cuts through storm clouds. Stopping in your tracks, you turn to see Nolan jogging over to you.
“Hey, Nolan,” you greet, voice a bit duller than usual.
“You alright? Magic stuff?” he asks, scanning your face with concern as if he’s trying to read in between the lines - or the creases on your face.
You let out another sigh, slumping forward slightly. “Yeah, I’ve been learning a new spell. It hasn’t been going well.” Your shoulders sag with the weight of your frustration. “I just… need to breathe, I think.”
Nolan nods slowly, then glances down one of the branching corridors behind him. “You know… you haven’t been to gardens in a while. Might do you good.”
His tone is too casual, and his smile is a little too easy. You narrow your eyes, catching something mischievous underneath. But you let it go with a small sigh - too stressed to deal with whatever is going on in your brother’s head.
“Yeah… maybe you’re right.” you murmur, following the direction of his gaze.
“Well then,” Nolan says cheerfully, already backing away. “I’ll let you go clear that mind of yours. Catch you later!”
“Bye,” you call faintly, watching him disappear behind a corner. Then you turn towards the gardens.
<ul>
<li>[[Next|E1-2]]</li>
</ul><<nobr>><<set $lastMainPassage = passage()>><</nobr>>
Your steps carry you to the eastern wing, past tall windows that reveal the clear night sky. The garden-balcony waits at the top floor - a sanctuary draped in memories of your childhood. You used to come here all the time: during the daytime where you could admire the colors of the flowers; and especially during the night, tracing constellations like stories.
You hesitate for a moment as you reach the large open doorway. The incident flashes in your mind - sharp and uninvited. You tense, being reminded of the memories that kept you away, made you bury yourself in books and incantations, trying to forget.
It’s been seven years now. You’ve managed to move on. At least… enough.
Your steps return to a slow pace as you enter the balcony. A floral fragrance flows by - a mixture of jasmine and lavender - greeting you like an old friend. The garden is just like you remember it. Still ethereal.
You cross the garden quietly, your shoes brushing against overgrown leaves. Then you see him.
Ethos, lying flat on his back in the grass, his gaze lost in the stars. The moon shines against his blonde hair, making it pale.
“Ethos,” you call softly. The prince turns, eyes lighting up and smile forming the moment he meets your eyes. He sits up fast, face full of surprise and delight.
“$MCname! You’re here!”
You smile back and settle beside him. The grass feels cool beneath your fingers.
“Yeah… I didn’t realize how much I missed this place,” you admit, scanning the greenery.
Ethos nods and leans back down. “I still came here. Even after everything. Couldn’t stay away.”
You stretch out beside him, voice teasing. “Of course you did. You’re the star expert.”
He chuckles. “Wasn’t the same though. Not without you,” he confesses, voice softening. You feel his eyes on you but you keep your gaze towards the sky.
A pause.
“I’m sorry,” you mumble.
Ethos shakes his head, returning his gaze back to the night sky. “You’ve said that so many times. It wasn’t just on you. We were kids, we didn’t know what we were doing.”
You don’t answer right away. The guilt still echoes, and the trauma still haunts, even if it’s faint. “Still. I broke our tradition.”
“You’re here now,” he says simply. The silence that follows is comfortable, filled only by the whisper of the wind and the quiet chirps of crickets.
<ul>
<li>[[Next|E1-3]]</li>
</ul><<nobr>><<set $lastMainPassage = passage()>><</nobr>>
“I found the summer triangle,” you say suddenly, pointing to a patch of stars above.
Ethos follows your hand, eyes searching. “You did. I’m surprised you still remember,” he says with a proud smile.
You grin. “Well after all your lectures on constellations, it’s hard not to remember.”
Ethos laughs and bumps your arm with his. “I wasn’t that bad.”
“You almost smacked me with a spoon when I called the Big Dipper a spoon.”
The laughter bubbles up between you, unrestrained and free. For a moment, it feels like you’re both kids again - just the stars, the sky, and each other.
When the laughter dies down, Ethos speaks quietly.
“I missed this.”
You turn your head to look at the prince, a gentle smile tugging at your lips. “Me too. I didn’t think I would ever come back here. But I guess… life surprises you.”
Ethos nods in agreement, and his gaze slips back to the stars for a moment while your gaze stays on him. Then he turns back to you, expression shifting.
“When you pulled away, I really thought I would lose you forever,” he admits. His words hang in the air, raw and honest. And the way he looks at you - like you’re a wish he never stopped making - makes your heart flutter.
<ul>
<li><<link "\"Well, now you can't lose me even if you wanted to.\"" >>
<<goto E1-4>>
<</link>></li>
<li><<link "\"I don't think I'd have the heart to ever truly leave you.\" ❤︎" >>
<<goto E1-5>>
<</link>></li>
</ul>
<<nobr>><<set $lastMainPassage = passage()>><</nobr>>
You flash him a crooked smile.
Ethos chuckles softly, the sound warm and low. “After everything you’ve done during the journey…” he pauses, tilting his head slightly. “I think I’ll keep you by my side.”
He says it so casually, in a tone that sounds teasing, and like it’s already decided. But there’s a glint in his eye that lingers just a little longer than it needs to, and something in his tone makes your cheeks warm.
You giggle, nudging his shoulder lightly. “Suit yourself.”
<<if $childhoodcrushE is "yes">>A silly thought flits through your mind - a memory, really. The kind of memory about a silly childhood crush that once made your heart race whenever he laughed too long or stood too close.
It's strange to remember it now. Not with longing, but with fondness. It no longer carries the same weight, but you wouldn't wish it away, either.<<else>>The two of you fall into a shared silence, your eyes drifting upward to the glittering night sky. The stars are familiar companions, just like him. <</if>>
<ul>
<li>[[Next|E1-6]]</li>
</ul><<nobr>><<set $lastMainPassage = passage()>><</nobr>>
First things first,
<b>Did you have a childhood crush on Ethos?</b>
<<radiobutton "$childhoodcrushE" "yes" autocheck>> Yes
<<radiobutton "$childhoodcrushE" "no" autocheck>> No
<ul>
<li>[[Next|E1-1]]</li>
</ul><<nobr>><<set $lastMainPassage = passage()>><</nobr>>
Ethos’ smile is quiet, but it reaches his eyes. Slowly his hand lifts - hesitating for just a breath - before he reaches forward and gently tucks a strand of hair behind your ear. His fingers are featherlight against your skin, yet your heartbeat stutters like he touched something deeper.
There’s something in his gaze - soft, searching, achingly familiar. You feel it spark in your chest, a warmth that spreads and coils like old memories waking up from a long nap.
<<if $childhoodcrushE is "yes">>It's been years since you felt this way towards him. The fluttering in your stomach, the quiet achining in your chest - it's all an echo of a childhood crush you thought you buried long ago... and the way it's stirring inside you now, you're not so sure it ever truly left.<<else>>The two of you fall into a shared silence, your eyes drifting upward to the gliterring night sky. The stars are familiar companions, just like him.<</if>>
<ul>
<li>[[Next|E1-6]]</li>
</ul><<nobr>><<set $lastMainPassage = passage()>><</nobr>>
Time drifts by unnoticed. A constellation here, a half remembered star name there. You guys trade quiet words and laughter, like secrets passed between the stars themselves.
Eventually, you stretch your arms above your head and sit up, muscles tingling from lying on the grass for too long. “We should get back. It’s getting late.”
Ethos nods, standing up first and rolling his shoulders with a quiet groan.Then he offers his hand. “Alright, come on.”
You slide your fingers into his without hesitation and let him pull you to your feet. His hand is warm and steady and when he doesn’t let go right away, neither do you.
“I’ll be here if you ever need to de-stress again.” He says with a smile.
“I’d like that.” You nod, heart a little lighter.
Still hand in hand, you walk together through the quiet halls of the palace. The corridor feels like it belongs to a different word - one you once knew as a child. He stops just outside your palace bedroom, the one you were given long ago.
“Good night, $MCname.”
You offer the prince a soft smile. “Good night, Ethos.”
You enter your bedroom, and the door closes behind you with a quiet click. You fall back onto your bed, exhaling deeply. A laugh bubbles up before you can stop it, and you bury your face in your pillow, muffling the sound while smiling against the fabric.
Your heart feels light - tinged with something nostalgic, something new. Whether or not the old crush ever fully disappeared, something inside you stirred tonight.
And more than anything… your mind is finally quiet.
It was a good couple of hours.
<<button "End Story" >>
<<goto "End">>
<</button>>